﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;

namespace QualitySupervision.Models
{
    public class MobileAccrual
    {
        /// <summary>
        /// ID
        /// </summary>
        [Key] //主键 
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]  //设置自增
        public int ID { get; set; }

        /// <summary>
        /// 市
        /// </summary>
        public string Shi { get; set; }

        /// <summary>
        /// 区
        /// </summary>
        public string Qu { get; set; }

        /// <summary>
        /// 业务名称
        /// </summary>
        public string BusinessName { get; set; }

        /// <summary>
        /// 项目编号
        /// </summary>
        public string ProjectNo { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; }
        
        /// <summary>
        /// 集团名称
        /// </summary>
        public string CustomerName { get; set; }

        /// <summary>
        /// 合同履约起始时间
        /// </summary>
        public string ContractStartTime { get; set; }

        /// <summary>
        /// 合同履约截止时间
        /// </summary>
        public string ContractEndTime { get; set; }

        /// <summary>
        /// 收入确认时间
        /// </summary>
        public string IncomeTime { get; set; }

        /// <summary>
        /// 合同总额
        /// </summary>
        public float? ContractTotal { get; set; }

        /// <summary>
        /// 收入金额
        /// </summary>
        public float? IncomeAmount { get; set; }

        /// <summary>
        /// 税率
        /// </summary>
        public float? Tax { get; set; }

        /// <summary>
        /// 验收时点
        /// </summary>
        public string AcceptTime { get; set; }

        /// <summary>
        /// 开始分摊时间
        /// </summary>
        public string StartAllocationTime { get; set; }
        /// <summary>
        /// 截止分摊时间
        /// </summary>
        public string EndAllocationTime { get; set; }

        /// <summary>
        /// 本月分摊收入
        /// </summary>
        public float? MonthAllocationIncome { get; set; }

        /// <summary>
        /// 累计分摊收入
        /// </summary>
        public float? CumulativeAllocationIncome { get; set; }

        /// <summary>
        /// 本月未分摊收入
        /// </summary>
        public float? NotMonthAllocationIncome { get; set; }

        /// <summary>
        /// 本月应收金额
        /// </summary>
        public float? MonthIncomeAmount { get; set; }

        /// <summary>
        /// 本月实收金额
        /// </summary>
        public float? MonthActualIncomeAmount { get; set; }

        /// <summary>
        /// 累计应收金额
        /// </summary>
        public float? CumulativeIncomeAmount { get; set; }

        /// <summary>
        /// 累计应收金额
        /// </summary>
        public float? CumulativeActualIncomeAmount { get; set; }

        /// <summary>
        /// 本月欠费
        /// </summary>
        public float? MonthArrears { get; set; }

        /// <summary>
        /// 已报损金额
        /// </summary>
        public float? LossAmount { get; set; }

        /// <summary>
        /// 预收资金
        /// </summary>
        public float? CollectAmount { get; set; }

        /// <summary>
        /// 最早欠费月份
        /// </summary>
        public string EarliestArrearsMonth { get; set; }

        /// <summary>
        /// 财务科目
        /// </summary>
        public string FinancialAccount { get; set; }

        /// <summary>
        /// 行业
        /// </summary>
        public string Industry { get; set; }

        /// <summary>
        /// 产品段
        /// </summary>
        public string ProductKind { get; set; }
    }
}
